﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ecommerce.Model;
using Ecommerce.Web.Code;

namespace Ecommerce.Web.UserControl
{
    public partial class DetalheProduto : System.Web.UI.UserControl
    {
        private ProdutoModel _produtoModel = new ProdutoModel();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string codigoProduto = Request.QueryString["codigo"];
                this.CarregarProduto(Server.UrlDecode(codigoProduto));
            }
        }

        private void CarregarProduto(string codigoProduto)
        {
            var produto = _produtoModel.ObterPorCodigo(codigoProduto);
            lblNomeProduto.Text = produto.pro_nom_produto;
            lblDescAbreviada.Text = produto.pro_des_produto;
            lblValorProduto.Text = produto.pro_vlr_preco_consumidor.ToString("c");

            tb_ipr_imagem_produto imagemProduto = produto.tb_ipr_imagem_produto.Where(x => x.ipr_num_ordem_imagem.Equals(1)).FirstOrDefault();

            if (imagemProduto != null)
                imgProduto.ImageUrl = imagemProduto.ipr_des_caminho_virtual;
            else
                imgProduto.ImageUrl = "~/images/imagem_nao_disp_detalhes.jpg";


            rptMaisFotos.DataSource = produto.tb_ipr_imagem_produto.OrderBy(x => x.ipr_num_ordem_imagem).ToList();
            rptMaisFotos.DataBind();
        }

        protected void rptMaisFotos_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                tb_ipr_imagem_produto imagem = (tb_ipr_imagem_produto)e.Item.DataItem;

                Image imgMaisFotos = (Image)e.Item.FindControl("imgMaisFotos");
                imgMaisFotos.ImageUrl = imagem.ipr_des_caminho_virtual;

                System.Web.UI.HtmlControls.HtmlAnchor ha = (System.Web.UI.HtmlControls.HtmlAnchor)e.Item.FindControl("lnkThumb");
                ha.HRef = imagem.ipr_des_caminho_virtual;
            }
        }

        protected void btnAdicionar_Click(object sender, ImageClickEventArgs e)
        {
            string codigoProduto = Request.QueryString["codigo"].ToString();
            tb_pro_produto produto = _produtoModel.ObterPorCodigo(Server.UrlDecode(codigoProduto));

            Carrinho.Instance.Adicionar(produto, int.Parse(txtQuantidade.Text), decimal.Parse(lblValorProduto.Text.Replace("R$", "")));

            Response.Redirect("~/CarrinhoCompras.aspx");
        }
    }
}